import axios from 'axios';
import {Message} from "element-ui";
//拦截器(请求拦截器，响应拦截器)
axios.interceptors.response.use(resp=>{
        if(resp.status==200 && resp.data && resp.data.status==500){
            if(resp.data.msg){
                Message.error({message:resp.data.msg})
            }
            return;
        }
    if(resp.data.msg){
        Message.success({message:resp.data.msg})
    }
    return resp.data;
},error => {//（请求都没为成功）
    if(error.response){
        if(error.response.status==404||error.response.status==504){
            Message.error({message:'服务器被吃了'})
        }else if(error.response.status==403){
            Message.error({message:'对不起，您没有权限'})
        }else if(error.response.status==401){
            Message.error({message:'对不起，您没有登录'})
        }else {
            Message.error({message:'未知错误'})
        }
    }
    return;
})
// const  num =100;
// export default num;
// import x from ...(加了default，x名字随便起，（以为一个文件只能写一个export default形式）)
//
//
// export const num1=1000;(如果还想导出其他，就用这种形式)
// import {num1} from......（{}的意思就是指定了导入的模块）


//get请求
export const getRequest=(url,params)=>{
    return axios({
        method:'get',
        url:url,
        params:params
    })
}
//post请求
export const postRequest=(url,params)=>{
    return axios({
        method:'post',
        url:url,
        data:params
    })
}
//登录post请求
export const postKeyValueRequest=(url,params)=>{
    return axios({
        method:'post',
        url:url,
        data:params,//json数据
        transformRequest:[function (data) {//将json转换成字符串
            let ret=''
            for(let i in data){
                ret +=encodeURIComponent(i)+"="+encodeURIComponent(data[i])+'&'
            }
            return ret;//username=tom&password=123这种格式
        }],
        header:{
            'Content-Type':'application/x-www-form-urlencoded'
        }
    })
}
//delete请求
export const deleteRequest=(url,params)=>{
    return axios({
        method:'delete',
        url:url,
        data:params
    })
}
//put请求
export const putRequest=(url,params)=>{
    return axios({
        method:'put',
        url:url,
        data:params
    })
}